﻿using PublicCommon;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Approval.Domain.Common
{
    public class HCTDto : Audit
    {
        public int ContractId { get; set; }

        /// <summary>
        /// 合同编号
        /// </summary>
        [StringLength(50)]
        public string? ContractNumber { get; set; }

        /// <summary>
        /// 合同标题
        /// </summary>
        [StringLength(50)]
        public string? ContractTitle { get; set; }

        /// <summary>
        /// 货主单位
        /// </summary>
        [StringLength(50)]
        public string? ShipperEnterprise { get; set; }

        /// <summary>
        /// 货主负责人
        /// </summary>
        [StringLength(50)]
        public string? ShipperPrincipal { get; set; }

        /// <summary>
        /// 线路
        /// </summary>
        public int? Route { get; set; }

        public string? RouteName { get; set; }

        /// <summary>
        /// 吨运位
        /// </summary>
        public decimal? TonTransport { get; set; }

        /// <summary>
        /// 包车条件吨位
        /// </summary>
        public decimal? Tonnage { get; set; }

        /// <summary>
        /// 包车金额
        /// </summary>
        public decimal? CharterAmount { get; set; }

        /// <summary>
        /// 经办人
        /// </summary>
        [StringLength(50)]
        public string? Responsible { get; set; }

        /// <summary>
        /// 签订日期
        /// </summary>
        public DateTime? SigningDate { get; set; }

        /// <summary>
        /// 合同金额
        /// </summary>
        public decimal? ContractAmount { get; set; }

        /// <summary>
        /// 合同标的或项目说明
        /// </summary>
        [StringLength(1000)]
        public string? ContractObject { get; set; }

        /// <summary>
        /// 合同主要条款
        /// </summary>
        [StringLength(1000)]
        public string? MainClause { get; set; }

        /// <summary>
        /// 合同文本（上传文件）
        /// </summary>
        public string? ContractText { get; set; }

        /// <summary>
        /// 合同类型
        /// </summary>
        public int? ContractType { get; set; }

        /// <summary>
        /// 货运状态
        /// </summary>
        public int? FreightStatus { get; set; } = 0;

        /// <summary>
        /// 异常报警
        /// </summary>
        public int? Abnormity { get; set; } = 0;

        /// <summary>
        /// 状态
        /// </summary>
        public int? State { get; set; } = 0;

        /// <summary>
        /// 审批人
        /// </summary>
        [StringLength(50)]
        public string? Approver { get; set; }

        /// <summary>
        /// 当前坐标
        /// </summary>
        [StringLength(200)]
        public string? Coordinate { get; set; }

        /// <summary>
        /// 通用合同类型
        /// </summary>
        [StringLength(50)]
        public string? ContractState { get; set; }
    }
}
